﻿'  __ _                 
' / _| |                
'| |_| |_   _ _ __ _ __ 
'|  _| | | | | '__| '__|
'| | | | |_| | |  | |   
'|_| |_|\__,_|_|  |_|

'Copyright (C) 2012, Rafal Marek Chmiel
'All rights reserved. http://flurr.codeplex.com/

'This file is part of the TwitterVB software
'Copyright (C) 2009, Duane Roelands
'All rights reserved.

'TwitterVB is a port of the Twitterizer library (http://code.google.com/p/twitterizer/)
'Copyright (C) 2008, Patrick "Ricky" Smith (ricky@digitally-born.com)
'All rights reserved.

' Redistribution and use in source and binary forms, with or without modification, are 
' permitted provided that the following conditions are met:
'
' - Redistributions of source code must retain the above copyright notice, this list 
'   of conditions and the following disclaimer.
' - Redistributions in binary form must reproduce the above copyright notice, this list 
'   of conditions and the following disclaimer in the documentation and/or other 
'   materials provided with the distribution.
'
' THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 
' ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
' WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
' IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 
' INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
' NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 
' PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
' WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
' ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
' POSSIBILITY OF SUCH DAMAGE.

Imports Flurr.twitter
Imports Flurr.twitterAPIException

Public Class mainForm

    Dim tw As New Flurr.twitter.twitterAPI

    Private Sub getPINLinkLabel_LinkClicked(ByVal sender As System.Object, ByVal e As System.Windows.Forms.LinkLabelLinkClickedEventArgs) Handles getPINLinkLabel.LinkClicked
        Process.Start(tw.GetAuthorizationLink("mpYIlVutCbDPkRYiMQkg", "RI3KC7W40ci8329yhjA0zZIqdkWeYy6O52Py8QFDuQ"))
    End Sub

    Private Sub checkPINLinkLabel_LinkClicked(ByVal sender As System.Object, ByVal e As System.Windows.Forms.LinkLabelLinkClickedEventArgs) Handles checkPINLinkLabel.LinkClicked
        Dim isValid As Boolean = tw.ValidatePIN(PINTextBox.Text)

        If isValid Then
            Dim OAuthToken As String = tw.OAuth_Token()
            Dim OAuthTokenSecret As String = tw.OAuth_TokenSecret()
            OAuthTTextBox.Text = OAuthToken
            OAuthSTextBox.Text = OAuthTokenSecret
            tweetTextBox.Enabled = True
            tweetButton.Enabled = True
        End If
    End Sub

    Private Sub tweetTextBox_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tweetTextBox.TextChanged
        TweetLengthLabel.Text = 140 - tweetTextBox.TextLength
        If TweetLengthLabel.Text < 0 Then
            TweetLengthLabel.ForeColor = Color.Red
        Else
            TweetLengthLabel.ForeColor = Color.Black
        End If
        If tweetTextBox.TextLength > 140 Or tweetTextBox.TextLength = 0 Then
            tweetButton.Enabled = False
        Else
            tweetButton.Enabled = True
        End If
    End Sub

    Private Sub tweetButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tweetButton.Click
        tw.AuthenticateWith("mpYIlVutCbDPkRYiMQkg", "RI3KC7W40ci8329yhjA0zZIqdkWeYy6O52Py8QFDuQ", OAuthTTextBox.Text, OAuthSTextBox.Text)
        tw.Update(tweetTextBox.Text)
        tweetTextBox.Clear()
    End Sub
End Class